home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D04.D64 / compact 2 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  4.7 KB  |  163 lines

  1. 100 POKE53280,L:POKE53281,0
  2. 110 FORT=0TO4:GETA$:NEXT
  3. 120 L=L+1:IFL=1THENLOAD"CODE MOVER",8,1
  4. 130 IFL=2THENLOAD"LOAD AT",8,1
  5. 140 PRINT"[147]";
  6. 141 DS=4096
  7. 142 POKE53280,2:POKE53281,0
  8. 150 CLR
  9. 160 DIMF$(109),S(20),B(20):N=10:A=0
  10. 161 PRINT"ENTER DATA DISK THEN PRESS <RETURN>"
  11. 162 GETA$:IFA$<>CHR$(13)THEN162
  12. 163 PRINT"[159]LOADING DIRECTORY"
  13. 164 POKE882,1:POKE883,0:POKE884,192:POKE860,ASC("$"):SYS820
  14. 165 GOTO3000
  15. 170 CLOSE1:PRINT"[158]PROG NO.";A+1:INPUT"ENTER NAME";F$(A):IFF$(A)=""THEN220
  16. 180 INPUT"[159]ENTER BLOCKS";B(A):OPEN1,8,0,F$(A):GET#1,A$:GET#1,B$
  17. 190 IFA$=""THENA$=CHR$(0)
  18. 200 L=ASC(A$):IFB$=""THENB$=CHR$(0)
  19. 210 B=ASC(B$):S(A)=L+B*256:A=A+1:PRINT"START=";S(A-1):GOTO170
  20. 220 GOSUB450
  21. 230 A=A-1:PRINT"ENTER START ADDRESS TO RUN":INPUTB
  22. 240 POKE2064,76:POKE252,B-(INT(B/256))*256:POKE253,INT(B/256)
  23. 241 PRINT"[154]ENTER FILE NAME TO SAVE UNDER":INPUTDM$
  24. 242 PRINT"[159]WHAT SHALL I DO WHILE DECOMPACTING?"
  25. 243 PRINT"1....WOBBLE SCREEN"
  26. 244 PRINT"2....FLASH SCREEN"
  27. 245 PRINT"3....NOTHING"
  28. 246 INPUTJ
  29. 247 IFJ=1THENPOKE2394,22:POKE2395,208:POKE2400,22:POKE2401,208
  30. 248 IFJ=2THENPOKE2394,33:POKE2395,208:POKE2400,33:POKE2401,208
  31. 249 IFJ=3THENPOKE2394,0:POKE2395,208:POKE2400,0:POKE2401,208
  32. 250 GOSUB570:N=10:FORT=0TOA:N=N+B(T):NEXT
  33. 260 FORT=ATO0STEP-1
  34. 270 POKE2067+T*3,N:POKE2068+T*3,INT(S(T)/256):POKE2069+T*3,INT(S(T)/256)+B(T)
  35. 280 N=N-B(T):NEXT
  36. 290 POKE2067+T*3,0:N=10
  37. 300 FORD=0TOA
  38. 310 L=LEN(F$(D)):POKE882,L:FORT=1TOL:POKE860+T-1,ASC(MID$(F$(D),T,1)):NEXT
  39. 320 POKE883,S(D)-(INT(S(D)/256)*256):POKE884,N
  40. 330 PRINT"PACKING ";F$(D)
  41. 340 SYS820:N=N+B(D):NEXT
  42. 350 POKE251,N:N=N-B(D)
  43. 360 T=0
  44. 370 FORD=ATO0STEP-1:N=N-B(D)
  45. 371 Z=0:FORG=1TOB(D)-1:IFN+G=INT(S(D)/256)THENZ=G:PRINT"*** ***"
  46. 372 NEXT:IFZ<>0THEN2000
  47. 380 POKE2067+T*3,N:POKE2068+T*3,INT(S(D)/256):POKE2069+T*3,INT(S(D)/256)+B(D)
  48. 390 T=T+1:NEXT
  49. 400 POKE2067+T*3,0
  50. 410 POKE2064,76:POKE2065,PEEK(252):POKE2066,PEEK(253)
  51. 411 SYS57812"@0:"+DM$,8
  52. 412 PRINT"[147]ENTER DISK TO SAVE ";DM$
  53. 413 PRINT"[158]THEN PRESS RETURN"
  54. 414 INPUT"[144]";A$
  55. 420 POKE193,1:POKE194,8
  56. 430 POKE174,0:POKE175,PEEK(251):SYS62957
  57. 440 RUN140
  58. 450 PRINT"[147]";
  59. 460 FORT=0TOA-1:IFT+1<=9THENPRINT" ";
  60. 470 PRINTT+1,F$(T),B(T);S(T):NEXT
  61. 480 PRINT"[159]EDIT ANY? (PRESS NUMBER OR X)"
  62. 490 INPUTA$:IFA$="X"THENRETURN
  63. 500 IFA$=""THEN450
  64. 501 IFVAL(A$)<=0THEN450
  65. 510 T=VAL(A$):T=T-1:PRINT"[147]";
  66. 520 PRINT"BLOCKS ";B(T)
  67. 530 INPUT"BLOCKS";B(T)
  68. 540 PRINT"[159]START ";S(T)
  69. 550 INPUT"START";S(T)
  70. 560 GOTO 460
  71. 570 PRINT"[147]CHECKING POSSIBLE CONFIGURATIONS ..."
  72. 571 PRINT"";
  73. 572 FORT=0TOA-1:IFT+1<=9THENPRINT" ";
  74. 573 PRINTT+1,F$(T),B(T);S(T):NEXT
  75. 580 CV$="[165][212][199][194][221][200][217][167]"
  76. 590 CV=1
  77. 600 IFA=0THENFORCV=1TO312STEP22:GOSUB620:NEXT:RETURN
  78. 610 ZX=49152:GOTO670
  79. 620 IFCV>312THENCV=1
  80. 630 REMPRINT"[176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][178][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  81. 640 PRINT"[151]";SPC(CV/8);" ";MID$(CV$,CV-(INT(CV/8)*8)+1,1)
  82. 650 PRINT"[155][173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  83. 660 RETURN
  84. 670 FORT=0TO255:POKEZX+T,33:NEXT:CV=CV+5:GOSUB620:OL=0
  85. 680 FORT=0TO7:POKEZX+T,33:NEXT:CV=CV+5:GOSUB620
  86. 690 FORT=128TO191:POKEZX+T,33:NEXT:CV=CV+5:GOSUB620
  87. 700 FORT=191TO255:POKEZX+T,33:NEXT:CV=CV+5:GOSUB620:NO=10
  88. 710 FORT=0TOA:FORD=0TOB(T):N=INT(S(T)/256)+D:CV=CV+1:NO=NO+1:GOSUB620:POKE49152+N,T
  89. 720 NEXTD,T
  90. 730 PRINT"[155]MAPPED OUT SINGULAR MEMORY LOCATIONS    ";
  91. 740 IFNO>128THENPRINT"[155]OUT OF MEMORY SORRY!":PRINT"PRESS RETURN TO RESET"
  92. 750 IFNO>128THENINPUT"[144]";A$:SYS64738
  93. 760 N=10
  94. 770 FORT=0TOA:FORD=0TOB(T):N=INT(S(T)/256)+D:CV=CV+1:GOSUB620:P=PEEK(49152+N)
  95. 780 IFP<>TTHENPRINT"OVER LAP AT PROG                        "
  96. 790 IFP<>TTHENPRINT"OVER LAP AT PROG";T;:OL=OL+1:PRINT"WITH";
  97. 800 IF P<>T AND P<255THENPRINTP
  98. 810 IF P<>T AND P=255THENPRINT:PRINT"THE PACKED SOURCE"
  99. 820 CV=CV+.5:GOSUB620
  100. 830 NEXTD,T:SW=0
  101. 840 FORT=A-1TO0STEP-1:CV=CV+1:GOSUB620
  102. 850 IFS(T)<=S(T+1)THEN900
  103. 860 SW=1
  104. 870 N=B(T+1):B(T+1)=B(T):B(T)=N
  105. 880 N=S(T+1):S(T+1)=S(T):S(T)=N
  106. 890 N$=F$(T+1):F$(T+1)=F$(T):F$(T)=N$
  107. 900 NEXT
  108. 910 IFSW=1THENSW=0:GOTO840
  109. 920 N=CV:FORCV=NTO312STEP3:GOSUB620:PRINT"[147]RIGHT THATS THAT FINISHED"
  110. 930 PRINT"[155]ALL SWAPED AND READY TO GO"
  111. 940 PRINT"ITS THE BEST I CAN DO FOR YOUR PROGRAM"
  112. 950 PRINT"IF IT DOES NOT WORK TRY SPLITING UP SOMEFILES OR USEING PACKER II"
  113. 960 GOSUB980
  114. 970 RETURN
  115. 980 PRINT"";
  116. 990 FORT=0TOA:IFT+1<=9THENPRINT" ";
  117. 1000 PRINTT+1,F$(T),B(T);S(T):NEXT
  118. 1010 RETURN
  119. 2000 POKE2067+T*3,N+Z:POKE2068+T*3,INT(S(D)/256)+Z
  120. 2010 POKE2069+T*3,INT(S(D)/256)+B(D):T=T+1
  121. 2011 PRINT"********"
  122. 2040 POKE2067+T*3,N:POKE2068+T*3,INT(S(D)/256)
  123. 2050 POKE2069+T*3,INT(S(D)/256)+Z:GOTO390
  124. 3000 PRINT"[159][147]";
  125. 3010 OPEN1,8,0,"$"
  126. 3020 Y=0:YA=49152+32:DIMZ(109)
  127. 3021 FORT=0TO109:F$(T)="QUIT>>>>>>>>>>>":NEXT
  128. 3030 F$(Y)="":X=0:Z(Y)=PEEK(YA)+PEEK(YA+1)*256:YA=YA+3:L=PEEK(YA):YA=YA+2
  129. 3031 IFPEEK(YA)=34THENYA=YA+1
  130. 3032 B=Z(Y)
  131. 3033 IFZ(Y)=0THENZ(Y)=1
  132. 3038 IFLEN(F$(Y))>18THENY=Y-2:GOTO3100
  133. 3039 IFPEEK(YA)=0ANDPEEK(YA+1)=0THENY=Y-2:GOTO3100
  134. 3040 F$(Y)=F$(Y)+CHR$(PEEK(YA+X)):X=X+1:IFCHR$(PEEK(YA+X))<>CHR$(34)THEN3038
  135. 3041 PRINT"[147]THINKING...";99-Y
  136. 3050 Y=Y+1:YA=YA+21
  137. 3051 IFY>99THENY=99:GOTO3100
  138. 3060 YA=YA+1:IFPEEK(YA)<>0THEN3060
  139. 3070 IFPEEK(YA+1)=0THENY=Y-2:GOTO3100
  140. 3080 YA=YA+3
  141. 3082 GOTO3030
  142. 3083 FORT=0TO80:POKE1024+T,PEEK(49152+32+T):NEXT:FORT=0TOY+1:POKE49152+T,0:NEXT
  143. 3100 Y=Y+1:V=0:F$(Y+1)=F$(101):PRINT"[147]":DIMJ$(20)
  144. 3101 FORT=0TOY+1:POKE49152+T,0:NEXT
  145. 3110 PRINT"[159]";:FORT=0TO9:IFPEEK(49152+T+V)=1THENPRINT"";
  146. 3120 PRINT" ";F$(T+V);"[146]";"               ":NEXT
  147. 3130 GETA$:IFA$="[145]"THENV=V-1
  148. 3131 PRINT"[151]>[155]>[155]<[151]<"
  149. 3140 IFA$=""THENV=V+1:IFV>Y+1THENV=Y+1
  150. 3150 IFV<0THENV=0
  151. 3151 IFA$=" "ANDV=Y+1THEN3200
  152. 3160 IFA$=" "THENIFPEEK(49152+V)=0ANDA<19THENPOKE49152+V,1:A=A+1:GOTO3110
  153. 3161 IFA$=" "THENIFPEEK(49152+V)=0ANDA>=19THENPRINT"NO ROOM LEFT":GOTO3200
  154. 3170 IFA$=" "THENIFPEEK(49152+V)=1THENPOKE49152+V,0:A=A-1:GOTO3110
  155. 3180 IFA$=""THEN3130
  156. 3190 GOTO 3110
  157. 3200 A=0:FORT=0TOY:IFPEEK(49152+T)=1THENJ$(A)=F$(T):B(A)=Z(T):A=A+1
  158. 3201 NEXT:CLOSE1
  159. 3210 FORT=0TOA-1:F$(T)=J$(T):OPEN1,8,0,F$(T):GET#1,A$:IFA$=""THENA$=CHR$(0)
  160. 3220 C=ASC(A$):GET#1,A$:IFA$=""THENA$=CHR$(0)
  161. 3230 CLOSE1:B=ASC(A$):S(T)=C+B*256:NEXT
  162. 3240 GOTO220
  163.